For autonomous or semi-autonomous robotic devices to operate autonomously or with minimal input and/or external control within an environment, methods for mapping the environment are helpful such that the robotic device may autonomously remain and operate within the environment. Methods for mapping an environment have been previously proposed. For example, the collection and storage of a large amount of feature points from captured images of an environment wherein recognizable landmarks among the data may be identified and matched for building and updating a map has been proposed. Such methods can require significant processing power and memory due to the large amount of feature points extracted from the captured images, their storage and sophisticated techniques used in creating the map. For example, some methods employ an EKF technique where the pose of the robotic device and the position of features within the map of the environment are estimated and stored in a complete state vector while uncertainties in the estimates are stored in an error covariance matrix. The main drawback is the computational power required to process a large number of features having large total state vector and covariance matrix. Further, methods employing EKF can require accurate measurement noise covariance matrices a priori as inaccurate sensor statistics can lead to poor performance. Other methods of mapping an environment use a distance sensor of the robotic device to measure distances from the distance sensor to objects within the environment while tracking the position of the robotic device. For example, a method has been proposed for constructing a map of the environment by rotating a distance sensor 360-degrees at a measured rotational velocity while taking distance measurements to objects within the environment. While this method is simple, the method is limited as the mapping process of the environment relies on the distance sensor initially rotating 360-degrees. If the distance sensor is installed on a robotic device, for example, the robotic device may rotate 360-degrees initially to finish mapping the environment before performing work. Another similar method provides that the robotic device may immediately translate and rotate while measuring distances to objects, allowing it perform work while simultaneously mapping. The method however uses EKF SLAM approach requiring significant processing power. Some mapping methods describe the construction of an occupancy map, where all points in the environment are tracked, including perimeters, empty spaces, and spaces beyond perimeters, and assigned a status, such as “occupied,” “unoccupied,” or “unknown.” This approach can have high computational costs. Other methods require the use of additional components for mapping, such as beacons, which must be placed within the environment. This is undesirable as additional components increase costs, take up space, and are unappealing to have within, for example, a consumer home.
None of the preceding discussion should be taken as a disclaimer of any of the described techniques, as the present approach may be used in combination with these or other techniques in some embodiments.